Knowledge representation is an area relating to how knowledge is represented and manipulated. Systems use knowledge representation to facilitate the codification of knowledge into a knowledge base. Knowledge base systems typically require different types of logic to model different parts of a problem. The knowledge base may be of a specific type that is tied to a particular type of a reasoning engine configured to apply rules to data provided by the knowledge base. Currently, adding data to a knowledge base is done by hard coding the data as part of the core kernel code base.